
package com.epam.android.training.level1.activity;

/**
 * Intent actions used in the application to start internal activities, services
 * or broadcast recievers.
 * 
 * @author Anton Novikau
 */
public interface IntentActions {

  /**
   * Activity action: initiates tests Activity.
   */
  String ACTION_TESTS = "com.epam.intent.action.TESTS";

  /**
   * Activity action: initiates RSS reader with configured news subscriptions.
   */
  String ACTION_NEWS = "com.epam.intent.action.NEWS";

  /**
   * Activity action: initiates RSS feed articles.
   * <p>
   * Input: {@link #FEED_ID_EXTRA} ID of feed to load articles for.
   * <p>
   * Output: nothing.
   */
  String ACTION_SINGLE_FEED = "com.epam.intent.action.SINGLE_FEED";

  /**
   * Activity action: display an application settings page for editing.
   */
  String ACTION_SETTINGS = "com.epam.intent.action.SETTINGS";

  /**
   * Activity action: display an Activity with contact information about author
   * and comments for the installed version of application.
   */
  String ACTION_ABOUT = "com.epam.intent.action.ABOUT";

  /**
   * Service action: start/stop service syncronizing poll database.
   */
  String ACTION_SYNC_POLL = "com.epam.intent.action.SYNC_POLL";

  /**
   * Service action: start/stop service syncronizing RSS feed database.
   */
  String ACTION_SYNC_FEED = "com.epam.intent.action.SYNC_FEED";

  String ACTION_RENEW_WIDGET = "com.epam.intent.action.RENEW_WIDGET";

  /**
   * Activity action: start poll.
   * <p>
   * Input: {@link #POLL_ID_EXTRA} ID of poll to be loaded.
   * <p>
   * Output: nothing.
   */
  String ACTION_SINGLE_POLL = "com.epam.intent.action.SINGLE_POLL";

  /**
   * Broadcas receiver action: notifies about poll database updates.
   */
  String ACTION_POLL_UPDATED = "com.epam.intent.action.POLL_UPDATED";

  /**
   * Activity action: shows poll results. Input: {@link #POLL_ID_EXTRA} ID of
   * poll to be loaded.
   */
  String ACTION_SHOW_RESULTS = "com.epam.intent.action.POLL_RESULTS";

  String ACTION_OPEN_LATEST_FEED = "com.epam.intent.action.LATEST_FEED";

  String ACTION_OPEN_LATEST_POLL = "com.epam.intent.action.LATEST_POLL";

  /**
   * Extra intent attribute specifies ID of feed to load articles for.
   */
  String FEED_ID_EXTRA = "feed_id";

  /**
   * Extra intent attribute specifies ID of poll to load.
   */
  String POLL_ID_EXTRA = "poll_id";

  /**
   * Extra intent attribute specifies poll results to show.
   */
  String POLL_RESULT_EXTRA = "result";
}
